package com.aco.party.common.servlet;
//
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.FileNotFoundException;
//import java.io.IOException;
//import java.util.Properties;
//import java.util.Timer;
//
//import javax.servlet.http.HttpServlet;
//
//import org.apache.commons.lang.StringUtils;
//import org.quartz.Scheduler;
//import org.quartz.SchedulerException;
//import org.quartz.impl.StdSchedulerFactory;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.stereotype.Service;
//
////import com.xunzuo.background.common.quartz.FeatureQuartzFilter;
//import com.icss.background.common.config.ConfigurationHelper;
//import com.icss.background.common.log.LogConfigLoad;
//import com.icss.background.common.util.SystemUtil;
//
///**
// * 项目启动初始化类,主要对一些配置项的初始化
// * 
// * <pre>
// * @(#)BackGroundInitServlet.java 2013-08-01
// * 
// * @功能说明：
// * 项目启动初始化类,主要对一些配置项的初始化,如：
// * 1: 初始化配置文件根目录
// * 2:初始化log配置(日志输出目录等)
// * 
// * @版本更新列表
// *</pre>
// */
//@Service
//public class BackGroundInitServlet extends HttpServlet {
//	/**
//	 * serialVersionUID
//	 */
//	private static final long serialVersionUID = 7128743033244479791L;
//	/**
//	 * logger.
//	 */
//	private static final Logger logger = LoggerFactory
//			.getLogger(BackGroundInitServlet.class);
//	/**
//	 * 刷新鉴权容器timer.
//	 */
//	private static Timer authContextTimer = null;
//	/**
//	 * quartz调度器.
//	 */
//	private static Scheduler scheduler = null;
//
//	/**
//	 * 初始化.
//	 */
//	public void init() {
//		// 初始化log配置(日志输出目录等)
////		initLog();
//		// 初始化quartz配置(定时任务)
//	//	initQuartz();
//
////		MemCacheFactory.initAllCacheClient(false);
//	}
//
//	/**
//	 * 清理资源（相关timer的关闭）.
//	 */
//	public void destroy() {
//		// 关闭鉴权容器timer.
//		if (authContextTimer != null) {
//			authContextTimer.cancel();
//		}
//		// 关闭quartz
//		if (scheduler != null) {
//			try {
//				scheduler.shutdown();
//			} catch (SchedulerException e) {
//				logger.error("关闭quartz任务调度失败，失败原因:" + e.getMessage());
//				return;
//			}
//			logger.info("关闭quartz任务调度成功！");
//		}
//	}
//
//	
//
//	/**
//	 * 初始化log配置(日志输出目录等).
//	 */
//	public void initLog() {
//		String configFilePath = SystemUtil.getAppConfigPathDir();
//		if (configFilePath == null) {
//			configFilePath = "." + File.separator;
//		}
//		String logback = getInitParameter("logback");
//		if ((logback == null) || (logback.length() == 0)) {
//			logger.error("没有指定logback配置文件相对路径！");
//			return;
//		}
//		configFilePath = configFilePath + File.separator + logback;
//		System.out.println("###初始化配置文件根目录=" + configFilePath);
//		// 加载日志配置
//		logger.info("加载logback日志信息开始路径：", configFilePath);
//		LogConfigLoad.load(configFilePath);
//		logger.info("加载logback日志信息结束");
//	}

//	/**
//	 * 初始化（定时任务).
//	 */
//	/**
//	 * 初始化quartz配置(quartz配置文件目录等).
//	 */
//	public static void initQuartz() {
//		String quartzConfig = "quartz/quartz.properties";
//		// 初始化quartz配置(quartz配置文件目录等).
//		// 从init-param中得到quartz.properties配置文件相对路径.
//		// String quartzConfig = this.getInitParameter("quartzConfig");
//		if (quartzConfig == null || quartzConfig.length() == 0) {
//			logger.info("没有指定quartz配置文件相对路径！");
//			return;
//		}
//		// 得到quartz配置文件全路径名
//		String quartzConfigFileName = ConfigurationHelper
//				.getFullFileName(quartzConfig);
//		FileInputStream fileInputStream = null;
//		try {
//			fileInputStream = new FileInputStream(quartzConfigFileName);
//		} catch (FileNotFoundException e) {
//			logger.error("找不到quartz配置文件,文件名:" + quartzConfigFileName);
//			return;
//		}
//		// 得到quartz配置文件的目录
//		String quartzConfigPath = StringUtils.substringBeforeLast(
//				quartzConfigFileName, "/");
//		// 加载配置文件
//		Properties properties = new Properties();
//		try {
//			properties.load(fileInputStream);
//			// 设置quartz_jobs.xml路径
//			properties.setProperty("org.quartz.plugin.jobInitializer.fileName",
//					quartzConfigPath + File.separator + "quartz_jobs.xml");
//		} catch (IOException e) {
//			logger.error("加载quartz配置文件失败,文件名:" + quartzConfigPath
//					+ File.separator + "quartz_jobs.xml");
//			return;
//		}
//		// 启动quartz
//		StdSchedulerFactory factory = null;
//		FeatureQuartzFilter featureQuartzFilter = new FeatureQuartzFilter();
//		try {
//			factory = new StdSchedulerFactory(featureQuartzFilter
//					.filterJobXmlFile(properties));
//		} catch (SchedulerException e) {
//			logger.error("初始化quartz失败,失败原因:" + e.getMessage());
//			return;
//		} catch (Exception e) {
//			logger.error("初始化quartz失败,失败原因:" + e.getMessage());
//			return;
//		}
//		/**
//		 * catch (JDOMException e) { logger.error("初始化quartz失败,失败原因:" +
//		 * e.getMessage()); return; } catch (IOException e) {
//		 * logger.error("初始化quartz失败,失败原因:" + e.getMessage()); return; }
//		 */
//		// 启动quartz任务调度器
//		try {
//			scheduler = factory.getScheduler();
//			scheduler.start();
//		} catch (SchedulerException e) {
//			logger.error("启动quartz任务调度失败,失败原因:" + e.getMessage());
//			return;
//		}
//		System.out.println("###启动quartz根目录=" + quartzConfigPath
//				+ File.separator + "quartz_jobs.xml");
//		logger.info("启动quartz任务调度成功！");
//	}

	
//}
